package menus;

import herramientas.BitUtil;
import bitclub.Movimiento;
import java.util.Date;
import java.util.List;

/**
 * @author Bit Company
 */
public class OpcionesCaja {

    public static void opcionCajaUltimosMovimientos() {

        List<Movimiento> listM = null;
        listM = Movimiento.ultimosMovimientos(10);

        //Mostramos la lista
        for (Movimiento m : listM) {
            System.out.println(m.toString());
        }
        System.out.println("\n");
        BitUtil.esperaEnter();
    }

    public static void opcionCajaGenerarInforme() {
        List<Movimiento> listM = null;
        Date fechaInicio;
        Date fechaFin;

        do {
            fechaInicio = BitUtil.dameFechaNoVacio("Fecha Inicio de informe (dia/Mes/año): \n");
            fechaFin = BitUtil.dameFechaNoVacio("Fecha Fin de informe(dia/Mes/año): \n");
            if (fechaInicio.getTime() > fechaFin.getTime()) {
                System.out.println("\nLa fecha de fin es anterior a la de inicio.\n");
                BitUtil.esperaEnter();
            }
        } while (fechaInicio.getTime() > fechaFin.getTime());
        listM = Movimiento.generarInforme(fechaInicio, fechaFin);

        //Mostramos la lista
        for (Movimiento m : listM) {
            System.out.println(m.toString());
        }

        BitUtil.esperaEnter();
    }

    public static void opcionCajaCerrar() {

        List<Movimiento> listM = null;
        listM = Movimiento.dameBalance(new Date());

        //Calculamos el importe ganado

        double ganado = 0;

        for (Movimiento m : listM) {
            ganado += m.getImporte();
        }

        BitUtil.borra();
        System.out.println(BitUtil.muestraSubrayado("El balance economico  del " + BitUtil.muestraFecha(new Date()),"_") + "\n");
        System.out.println("      Total: " + BitUtil.muestraEuros(ganado) + "\n\n");

        BitUtil.esperaEnter();

    }
}
